package studio.raptor.databus.dashboard.service.interfaces;

import studio.raptor.databus.dashboard.properties.TaskConfig;

/**
 * @author jack
 * @since 1.0
 */
public interface TaskService {

  /**
   * 创建数据分发器实例
   *
   * @param ip 分发器主机ip
   * @param port 分发器服务端口
   * @return 分发器实例节点：ip-port
   */
  public String createDispatcher(String ip, Integer port, String name);


  /**
   * 移除数据分发器
   *
   * @param ip 分发器主机ip
   * @param port 分发器服务端口
   * @return 分发器实例节点：ip-port
   */
  public String removeDispatcher(String ip, Integer port);

  /**
   * 创建分发器任务
   *
   * @param taskProperties 任务配置
   * @return 分发任务详情
   */
  public TaskConfig createDispatcherTask(TaskConfig taskProperties);

  /**
   * 更新分发器任务状态
   *
   * @param taskProperties 任务配置
   * @return 分发任务详情
   */
  public TaskConfig updateDispatcherTask(TaskConfig taskProperties);


}
